module.exports = app => {
  const router = require('express').Router()
  const admin = require('../../models/admin')
  const jwt = require('jsonwebtoken')
  const config = require('../../config')
  // 提交数据
  router.post('/admin/api/admin/login', async (req, res, next) => {
    try {
      const { userName, password } = req.body
      // 根据用户名查找用户
      const data = await admin.findOne({ where: { userName } })
      if (!data) return res.response(400, '用户不存在')

      // 验证密码
      const bcrypt = require('bcryptjs');
      const check = bcrypt.compareSync(password, data.password);
      if (!check) return res.response(400, '密码不正确')

      // 更新最后一次登录时间
      const moment = require('moment')
      await admin.update({ lastLogin: moment().format("YYYY-MM-DD HH:mm:ss") }, { where: { userName } })

      // 生成token,返回数据
      const token = jwt.sign({ id: data.id }, config.JWTSECRET, { expiresIn: 60 * 60 * 3 });
      return res.response(200, '登录成功', token)

    } catch (error) {
      next(error)
    }
  })

  app.use(router)
}